欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

c語言之fcfs

#include <malloc.h>
#include <stdio.h>
?
typedef struct?
{
? ? char name[10];//進程名
? ? int id;//進程id
? ? int atime;//到達時間
? ? int stime;//開始時間
? ? int runtime;//運行時間
? ? int ftime;//完成時間
? ? float total;//周轉時間
? ? float weight;//帶權周轉時間
}PCB;
?
typedef struct _Node
{
? ? struct _Node* next;
? ? PCB pcb;
}node;
?
struct node* creat()
{
? ? node* head = malloc(sizeof(node));
? ? head->next = NULL;
? ? node* move = head;
?
? ? printf("請輸入進程數量:\n");
? ? int count;
? ? scanf("%d", &count);
? ? for (int i = 0; i < count; i++)
? ? {
? ? ? ? node* fresh = malloc(sizeof(node));
? ? ? ? fresh->next = NULL;
? ? ? ? move->next = fresh;
?
? ? ? ? printf("請輸入第%d個進程的id、到達時間、運行時間:\n", i + 1);
? ? ? ? scanf("%d%s%d%d", &fresh->pcb.id, fresh->pcb.name, &fresh->pcb.atime, &fresh->pcb.runtime);
?
? ? ? ? move = fresh;
? ? }
? ? return head;
}
?
void fcfs(node* head) {
? ? for (node* turn = head->next; turn->next != NULL; turn = turn->next)
? ? {
? ? ? ? for (node* move = head->next; move->next != NULL; move = move->next)
? ? ? ? {
? ? ? ? ? ? if (move->pcb.atime > move->next->pcb.atime)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? PCB temp = move->pcb;
? ? ? ? ? ? ? ? move->pcb = move->next->pcb;
? ? ? ? ? ? ? ? move->next->pcb = temp;
? ? ? ? ? ? }
? ? ? ? }
? ? }
}
?
void running(node* head) {
? ? node* move = head->next;//創建move指針控制循環次數
? ? while (move != NULL) {
? ? ? ? printf("%s程序正在運行.....\n", move->pcb.name);
? ? ? ? move = move->next;
? ? }
}
?
void s_f_t_w_time(node* head) {
? ? node* move = head->next->next;//創建move指針控制循環次數
? ? node* first = head->next;//將首結點的地址數據傳入first指針中
? ? first->pcb.total = first->pcb.runtime;
? ? first->pcb.stime = first->pcb.atime;
? ? first->pcb.ftime = first->pcb.stime + first->pcb.runtime;
? ? first->pcb.weight = first->pcb.total / first->pcb.runtime;
? ? printf("%d %4s %7d %11d %10d %10d %16f %10f\n", first->pcb.id, first->pcb.name, first->pcb.atime, first->pcb.runtime, first->pcb.stime, first->pcb.ftime, first->pcb.total, first->pcb.weight);
? ? while (move != NULL) {
? ? ? ? if (first->next->pcb.atime <= first->pcb.ftime) {
? ? ? ? ? ? first->next->pcb.stime = first->pcb.ftime;
? ? ? ? ? ? first->next->pcb.ftime = first->next->pcb.stime + first->next->pcb.runtime;
? ? ? ? ? ? first->next->pcb.total = first->next->pcb.stime + first->next->pcb.runtime - first->next->pcb.atime;
? ? ? ? ? ? first->next->pcb.weight = first->next->pcb.total / first->next->pcb.runtime;
? ? ? ? }
? ? ? ? else {
? ? ? ? ? ? first->next->pcb.stime = first->next->pcb.atime;
? ? ? ? ? ? first->next->pcb.ftime = first->next->pcb.stime + first->next->pcb.runtime;
? ? ? ? ? ? first->next->pcb.total = first->next->pcb.stime + first->next->pcb.runtime - first->next->pcb.atime;
? ? ? ? ? ? first->next->pcb.weight = first->next->pcb.total / first->next->pcb.runtime;
? ? ? ? }
? ? ? ? printf("%d %4s %7d %11d %10d %10d %16f %10f\n", first->next->pcb.id, first->next->pcb.name, first->next->pcb.atime, first->next->pcb.runtime, first->next->pcb.stime, first->next->pcb.ftime, first->next->pcb.total, first->next->pcb.weight);
? ? ? ? first = first->next;
? ? ? ? move = move->next;
? ? }
}
?
int main(void) {
? ? node* p;
? ? p = creat();
? ? fcfs(p);
? ? printf("\n");
? ? running(p);
? ? printf("\n");
? ? printf(" id ? ?進程名 ? 到達時間 ? 運行時間 ? 開始時間 ? 結束時間 ? 周轉時間 ? 帶權周轉時間\n");
? ? s_f_t_w_time(p);
? ? return 0;
}

c語言之fcfs

?

文章鏈接: http://www.qzkangyuan.com/27155.html

文章標題:c語言之fcfs

文章版權:夢飛科技所發布的內容,部分為原創文章,轉載請注明來源,網絡轉載文章如有侵權請聯系我們!

聲明:本站所有文章,如無特殊說明或標注,均為本站原創發布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
建站教程

數據結構之棧(四)

2023-12-22 10:09:01

建站教程投稿分享

c語言之SJF

2024-1-29 13:16:21

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索

夢飛科技 - 最新云主機促銷服務器租用優惠

主站蜘蛛池模板: 南靖县| 兰考县| 三门峡市| 满城县| 长垣县| 千阳县| 勐海县| 望奎县| 东方市| 鹿邑县| 偃师市| 绍兴市| 公主岭市| 缙云县| 扬州市| 沧州市| 钟山县| 河南省| 突泉县| 安岳县| 上犹县| 河北省| 夏津县| 三台县| 大同市| 济宁市| 石嘴山市| 定远县| 寿光市| 石城县| 黎川县| 额尔古纳市| 宁明县| 泉州市| 军事| 迁西县| 兴义市| 岐山县| 屏山县| 济南市| 洛扎县|